package com.tbynet.jwp.service.spi;

import com.tbynet.jwp.service.dto.imports.*;

import java.io.File;

/**
 * 文章导入管理类
 * @ClassName: PostImportManager
 * @Description: 处理文章导入的业务逻辑，支持多种文件格式
 * @Author: 佰亿互联
 * @Date: 2025年11月4日
 *
 * @Copyright: 2025 www.tbynet.com Inc. All rights reserved.
 * 注意: 本内容仅限于内部传阅，禁止外泄以及用于其他的商业目
 */
public interface PostImportManager {

    /**
     * 导入文章
     * @param file 导入文件
     * @param fileType 文件类型
     * @param config 导入配置
     * @return 导入结果
     */
    ImportResult importPosts(File file, String fileType, ImportConfig config);

    /**
     * 获取导入统计信息
     */
    ImportStatistics getImportStatistics();

    /**
     * 获取模板路径
     */
    String getTemplatePath(String templateType);

    /**
     * 获取导入进度
     */
    ImportProgress getImportProgress(String taskId);

    /**
     * 获取导入历史
     */
    ImportHistory getImportHistory(int page, int size);

//  -- 导入日志表
//  CREATE TABLE IF NOT EXISTS `wp_import_log` (
//      `id` varchar(100) NOT NULL,
//      `file_name` varchar(255) NOT NULL,
//      `file_type` varchar(20) NOT NULL,
//      `imported_count` int(11) NOT NULL DEFAULT '0',
//      `error_count` int(11) NOT NULL DEFAULT '0',
//      `import_time` datetime NOT NULL,
//      `status` varchar(20) NOT NULL,
//      `operator` varchar(100) NOT NULL,
//      `error_message` text,
//      PRIMARY KEY (`id`),
//      KEY `import_time` (`import_time`),
//      KEY `status` (`status`)
//  ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci;
}